package com.fastplatform.repository;

import com.fastplatform.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

@Repository
public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificationExecutor<User> {
    
    /**
     * 根据用户名查找用户（未删除）（使用JPA命名推断）
     */
    Optional<User> findByUsernameAndDeletedFalse(String username);
    
    /**
     * 查找所有有效的用户（使用JPA命名推断）
     */
    List<User> findByDeletedFalseOrderByCreateTimeDesc();
    
    /**
     * 检查用户名是否存在（未删除）（使用JPA命名推断）
     */
    boolean existsByUsernameAndDeletedFalse(String username);
}